package com.tedu.api.d4_io;

import java.io.File;

/*
 本类用于递归求文件夹总大小

 需求：求目录总大小 D:\\ready,
 1.列出文件夹中所有资源
        判断，是文件，求出文件大小并累加
        判断，是文件夹，列出文件夹所有资源
                判断，是文件，求出文件大小并累加
                判断，是文件夹，列出文件夹所有资源
                        。。。

 */
public class Test2_FileSumRecursion {
    public static void main(String[] args) {
        File f=new File("D:\\javaSoftware");

        long total=size(f);
        System.out.println("大小："+total);
    }

    public static long size(File f) {

        File[] list = f.listFiles();
        long sum=0;

        //遍历数组，并依次处理
        for (int i = 0; i < list.length; i++) {

            if(list[i].isFile()){
                sum=sum+list[i].length();

            }else if(list[i].isDirectory()){
                sum=sum+size(list[i]);
            }
        }
        return sum;
    }


}
